# -*- coding:utf-8 -*-
__author__ = 'Kalyugin Pavel'

import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from HW_PO.Pages.DetailedFilmPage import DetailedFilmPage


class SearchResultPage(object):
    def __init__(self, driver, film_name):
        self.driver = driver
        self.film_name = film_name

    def founded_film(self):
        try:
            # Ожидание загрузки найденных фильмов
            # Сначала ожидается хотя бы один фильм
            WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".title")))
            # Получение всех филмов на странице
            list_of_films = self.driver.find_elements_by_css_selector(".title")

            # Поиск упоминания названия в списке найденных фильмов
            for film in list_of_films:
                if self.film_name in film.text:
                    return True
        except:
            return False

    def get_first_film(self):
        try:
            # Ожидание загрузки найденного фильма (удаляется первый найденный)
            film_to_delete = WebDriverWait(self.driver, 10).until(
                EC.presence_of_element_located((By.CSS_SELECTOR, ".title"))).click()
        except:
            raise NoSuchElementException("Film not founded")
        return DetailedFilmPage(self.driver)